package com.auxgroup.hr.front.dao.domain;

import com.auxgroup.hr.front.commons.enums.WfTypeEnum;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 休假模型
 * The persistent class for the PS_C_WF_PLAVE_HDR database table.
 */
@Entity
@Table(name = "PS_C_WF_PLAVE_HDR")
@NamedQuery(name = "PsCWfPlaveHdr.findAll", query = "SELECT p FROM PsCWfPlaveHdr p")
public class PsCWfPlaveHdr extends AbsWfEmplDomain {
    private static final long serialVersionUID = 1L;
    //请假类型
    @Column(name = "C_LEAVE_TYPE")
    private String cLeaveType;
    //是否跨天
    @Column(name = "C_ACROSS_DAY")
    private String cAcrossDay;
    //请假日期
    @Temporal(TemporalType.DATE)
    @Column(name = "START_DATE")
    private Date startDate;
    //不跨天请假时段
    @Column(name = "C_LEA_DAY1")
    private String cLeaDay1;
    //跨天开始时段
    @Column(name = "C_LEA_DAY2")
    private String cLeaDay2;
    //结束日期
    @Temporal(TemporalType.DATE)
    @Column(name = "END_DATE")
    private Date endDate;
    //跨天结束时段
    @Column(name = "C_LEA_DAY3")
    private String cLeaDay3;
    //请假天数共计
    @Column(name = "C_LEAVE_DAYS")
    private BigDecimal cLeaveDays;
    //亲属关系
    @Column(name = "C_RELATIONSHIP")
    private String cRelationship;
    //出生日期
    @Temporal(TemporalType.DATE)
    @Column(name = "BIRTHDATE")
    private Date birthdate;
    //请假周期
    @Column(name = "C_LEAVE_CYCLE")
    private String cLeaveCycle;
    //申请详细说明
    @Column(name = "C_APPL_INFO")
    private String cApplInfo;
    //怀孕时长
    @Column(name = "C_PREGNANT_TIME")
    private String cPregnantTime;

    //家用/商用
    @Column(name = "C_WF_JD_LB")
    private String cWfJdLb;

    public PsCWfPlaveHdr() {
    }

    @Override
    public void baseInit(AbsWfEmplDomain source) {
        PsCWfPlaveHdr p = (PsCWfPlaveHdr) source;
        setcWfType(WfTypeEnum.WF_STYPE_LAVE.getType());// 流程类别
        setcLeaveType(p.getcLeaveType());
        setcAcrossDay(p.getcAcrossDay());
        setStartDate(p.getStartDate());
        setcLeaDay1(p.getcLeaDay1());
        setcLeaDay2(p.getcLeaDay2());
        setcLeaDay3(p.getcLeaDay3());
        setEndDate(p.getEndDate());
        setStartDate(p.getStartDate());
        setcLeaveDays(p.getcLeaveDays());
        setcRelationship(p.getcRelationship());
        setBirthdate(p.getBirthdate());
        setcLeaveCycle(p.getcLeaveCycle());
        setcApplInfo(p.getcApplInfo());
        setcPregnantTime(p.getcPregnantTime());
        setcWfJdLb(p.getcWfJdLb());
    }

    public String getcWfJdLb() {
        return cWfJdLb;
    }

    public void setcWfJdLb(String cWfJdLb) {
        this.cWfJdLb = cWfJdLb;
    }

    public String getcPregnantTime() {
        return cPregnantTime;
    }

    public void setcPregnantTime(String cPregnantTime) {
        this.cPregnantTime = cPregnantTime;
    }

    public String getcLeaveType() {
        return cLeaveType;
    }

    public void setcLeaveType(String cLeaveType) {
        this.cLeaveType = cLeaveType;
    }

    public String getcAcrossDay() {
        return cAcrossDay;
    }

    public void setcAcrossDay(String cAcrossDay) {
        this.cAcrossDay = cAcrossDay;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public String getcLeaDay1() {
        return cLeaDay1;
    }

    public void setcLeaDay1(String cLeaDay1) {
        this.cLeaDay1 = cLeaDay1;
    }

    public String getcLeaDay2() {
        return cLeaDay2;
    }

    public void setcLeaDay2(String cLeaDay2) {
        this.cLeaDay2 = cLeaDay2;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getcLeaDay3() {
        return cLeaDay3;
    }

    public void setcLeaDay3(String cLeaDay3) {
        this.cLeaDay3 = cLeaDay3;
    }

    public BigDecimal getcLeaveDays() {
        return cLeaveDays;
    }

    public void setcLeaveDays(BigDecimal cLeaveDays) {
        this.cLeaveDays = cLeaveDays;
    }

    public String getcRelationship() {
        return cRelationship;
    }

    public void setcRelationship(String cRelationship) {
        this.cRelationship = cRelationship;
    }

    public Date getBirthdate() {
        return birthdate;
    }

    public void setBirthdate(Date birthdate) {
        this.birthdate = birthdate;
    }

    public String getcLeaveCycle() {
        return cLeaveCycle;
    }

    public void setcLeaveCycle(String cLeaveCycle) {
        this.cLeaveCycle = cLeaveCycle;
    }

    public String getcApplInfo() {
        return cApplInfo;
    }

    public void setcApplInfo(String cApplInfo) {
        this.cApplInfo = cApplInfo;
    }
}